#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <sys/wait.h>
int main() {
    pid_t pid = fork(); // 创建子进程

    if (pid < 0) {
        // fork失败
        fprintf(stderr, "Fork failed");
        return 1;
    } else if (pid == 0) {
        // 子进程
        printf("Child process, PID: %d, PPID: %d\n", getpid(), getppid());
    } else {
        // 父进程
        printf("Parent process, PID: %d, child PID: %d\n", getpid(), pid);
        wait(NULL); // 等待子进程结束
    }

    return 0;
}
